const demo = require(process.argv[2])
console.log('running', demo)
let index = 0
console.log(`${index++}: ${typeof(demo.array)}`)
console.log(`${index++}: ${typeof(demo.array_with_length)}`)
console.log(`${index++}: ${typeof(demo.arraybuffer)}`)
console.log(`${index++}: ${typeof(demo.date)}`)
console.log(`${index++}: ${typeof(demo.object)}`)
console.log(`${index++}: ${typeof(demo.global)}`)
console.log(`${index++}: ${typeof(demo.null)}`)
console.log(`${index++}: ${typeof(demo.undefined)}`)

/*
running {
  array: [],
  array_with_length: [ <3 empty items> ],
  arraybuffer: ArrayBuffer {
    [Uint8Contents]: <38 37 36 35 34 33 32 31>,
    byteLength: 8
  },
  date: 1970-01-01T00:00:00.000Z,
  object: {},
  global: <ref *1> Object [global] {
    global: [Circular *1],
    queueMicrotask: [Function: queueMicrotask],
    clearImmediate: [Function: clearImmediate],
    setImmediate: [Function: setImmediate] {
      [Symbol(nodejs.util.promisify.custom)]: [Getter]
    },
    structuredClone: [Function: structuredClone],
    clearInterval: [Function: clearInterval],
    clearTimeout: [Function: clearTimeout],
    setInterval: [Function: setInterval],
    setTimeout: [Function: setTimeout] {
      [Symbol(nodejs.util.promisify.custom)]: [Getter]
    },
    performance: Performance {
      nodeTiming: PerformanceNodeTiming {
        name: 'node',
        entryType: 'node',
        startTime: 0,
        duration: 27.159241005778313,
        nodeStart: 0.08959800004959106,
        v8Start: 0.6789930015802383,
        bootstrapComplete: 20.85342800617218,
        environment: 9.805741012096405,
        loopStart: -1,
        loopExit: -1,
        idleTime: 0
      },
      timeOrigin: 1654768253274.279
    },
    fetch: [AsyncFunction: fetch]
  },
  null: null,
  undefined: undefined
}
0: object
1: object
2: object
3: object
4: object
5: object
6: object
7: undefined
*/
